# 作者: 薛文寅仟
# 2024年12月30日20时27分40秒
# 5443912@qq.com
class Animal:

    def __init__(self, name):
        self.name = name

    def eat(self):
        print("吃----")

    def drink(self):
        print("吃----")

    def run(self):
        print("跑----")

    def sleep(self):
        print("睡----")


class Dog(Animal):
    # 如果这里有__init__,就会将父亲中的__init__覆盖掉
    # 但这样写很鸡肋
    # def __init__(self, name):
    #     self.name = name+"覆盖"

    # 应该这样写，子类对象调用父亲的init,对父类方法进行扩展
    # 不加这个super()就是直接覆盖
    def __init__(self, name, color):
        super().__init__(name)
        self.color = color

    def bark(self):
        print(f"{self.color}的{self.name}汪汪叫")

    def run(self):
        super().run()
        print(f"{self.name}跑得快")

    # 这样会直接覆盖父亲的run
    # def run(self):
    #     print(f"{self.name}跑得快")


class XiaoTianQuan(Dog):
    def __init__(self, name, color, age, adj):
        # 添加参数的时候要在最后一个括号里加上父类中已经有的参数
        super().__init__(name, color)
        self.age = age
        self.adj = adj

    def fly(self):
        print(f"{self.color}的{self.adj}的{self.age}岁{self.name}飞天----")

    def bark(self):
        # super().bark()
        print(f'将大局逆转吧，开！！！')


if __name__ == '__main__':
    wangcai = Dog("旺财", "黄色")
    wangcai.bark()
    wangcai.run()
    xiaotianquan = XiaoTianQuan("哮天犬", "彩色", 18,"神一般的")
    xiaotianquan.fly()
    xiaotianquan.bark()
